python利用WPS接口之excel中图片写入

您所在的位置:网站首页 python wps python利用WPS接口之excel中图片写入

python利用WPS接口之excel中图片写入

#python利用WPS接口之excel中图片写入| 来源: 网络整理| 查看: 265

wps开发平台上接口文档说明: Shapes.AddPicture:在绘图画布上添加一幅图片。返回一个 Shape 对象,该对象代表图片并将其添加至 CanvasShapes 集合。 语法 express.AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height) express 一个代表 Shapes 对象的变量。

参数

名称 必选/可选 数据类型 说明 FileName 必选 String 图片的路径和文件名。 LinkToFile 可选 Variant 如果该参数值为 True,则将图片链接到创建它的文件。如果该参数值为 False,则将图片作为该文件的独立副本。默认值为 False。 SaveWithDocument 可选 Variant 如果该参数值为 True,则将链接的图片与文档一起保存。默认值为 False。 Left 可选 Variant 新图片的左边缘相对于绘图画布的位置,以磅为单位。 Top 可选 Variant 新图片的上边缘相对于绘图画布的位置,以磅为单位。 Width 可选 Variant 图片的宽度,以磅为单位。 Height 可选 Variant 图片的高度,以磅为单位。

由于需要批量写入,wps的Application只打开关闭一次。

import win32com.client # 写入图片 def write_image(file, image_file, arg, et=None): # arg为单元格参数,如[A1:B2] wb = et.Workbooks.Open(file) sht = wb.Sheets(1) # Left, 3.75, Top, 671.25, Height,31.5, Width,315 left = sht.Range(arg[0]).Left top = sht.Range(arg[0]).Top width = sht.Range(f'{arg[0]}:{arg[1]}').Width height = sht.Range(f'{arg[0]}:{arg[1]}').Height # print(sht.Range(arg[0]).Left) # print(sht.Range(arg[0]).Top) # print(sht.Range(f'{arg[0]}:{arg[1]}').Width) # print(sht.Range(f'{arg[0]}:{arg[1]}').Height) sht.Shapes.AddPicture(image_file, 1, 1, left, top, width, height) wb.Save() wb.Close()

运行实例:

file = r'd:\Documents\新建 XLSX 工作表.xlsx' image_file = r'd:\Documents\1.png' et = win32com.client.Dispatch('ket.Application') et.Visible = False # 在A1:B3区域插入图片,图片高度以单元格区域高度与宽度为准 write_image(file, image_file, [A1,B3], et=et) et.Quit()

所对应的图片删除:

et = win32com.client.Dispatch('ket.Application') et.Visible = False # 此处file同上 wb = et.Workbooks.Open(file) sht = wb.Sheets(1) for shp in sht.Shapes: a = shp.Height # 指定所需删除图片的高度或者宽度,根据需求删除 if a


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3